logic first c programming